graph TB
    Job(定时作业任务)
    CPS_Job_P(Job Publisher)
    CPS_Job_S(Job Subscriber)
    CPS_PSI_P(PSI Publisher)
    CPS_PSI_S(PSI Subscriber)
    CF_Job(Job Function Service)
    CF_PSI(PSI Function Service)
    GAPI_PSI(PageSpeed Insights API)

    Job -->|Push| CPS_Job_P
    CPS_Job_S -->|Push| CF_Job
    CF_Job -->| 并发 HTTP | CPS_PSI_P
    CPS_PSI_S -->| 并发 Push | CF_PSI
    CF_PSI -->| 并发 HTTP Request | GAPI_PSI

    subgraph Cloud Scheduler
        Job
    end

    subgraph Cloud Pub/Sub
    subgraph Job Pub/Sub
    CPS_Job_P --> CPS_Job_S
    end

    subgraph PSI Pub/Sub
    CPS_PSI_P --> CPS_PSI_S
    end
    end

    subgraph Cloud Functions
    CF_Job
    CF_PSI
    end

    subgraph Google APIs
    GAPI_PSI
    end